package dice.sinanya.system.imal;

public class HelpText {
    public static StringBuilder r = new StringBuilder()
            .append("r")
            .append("    ")
            .append("简化骰点")
            .append("\n")
            .append("用法：.r[表达式]")
            .append("\n")
            .append("示例：.r3d6/.r3d6k2/.r3#3d6k2/.rd/.r2d/.r2#d/.rd60/.r3+6")
            .append("\n")
            .append("r是最简单也是最复杂的骰点方式，常见的有以下几种使用方法:")
            .append("\n")
            .append("rd rd的意思.r1d100,也就是1-100的骰子投掷1次")
            .append("\n")
            .append("同理你也可以使用.r2d投掷.r2d100，或者.rd60投掷.r1d60,当然你也可以使用复杂的公式，比如.r3d6*5-2d/2+d60+7")
            .append("\n")
            .append("稍稍进阶一点的用法是k,意为取最大的几个结果，常用语dnd中，如.r3d6k2，就是骰3个1-6的骰子，取2个最大的结果")
            .append("\n")
            .append("此外也可以用#,譬如.r2#d,就是连续投2次1d100,常用语连续的检定")
            .append("\n")
            .append("值得注意的是，如果你没有加d字符，那么.r就是一个简单计算器，譬如.r3+6*5/2-7，就单纯是进行计算而非进行骰掷");

    public static StringBuilder rd = new StringBuilder()
            .append("rd")
            .append("    ")
            .append("骰点并进行简单计算")
            .append("\n")
            .append("用法：.r[表达式]")
            .append("\n")
            .append("示例：.r3d6/.r3d6k2/.r3#3d6k2/.rd/.r2d/.r2#d/.rd60")
            .append("\n")
            .append("是.r1d100的缩写，详情可以使用.man r查看.r命令的相关条目");

    public static StringBuilder rh = new StringBuilder()
            .append("rh")
            .append("    ")
            .append("进行暗骰")
            .append("\n")
            .append("用法:.rh[数值/技能/属性]")
            .append("\n")
            .append("示例：.rh50/.rh侦查/.rh力量+10/.rh")
            .append("\n")
            .append("当rh后未接其他参数，则为暗骰一枚默认骰，由骰娘私聊发送骰掷结果。当rh后接数值时，为一次暗骰rc数值检定，当录入人物卡后可在rh后接技能或属性。")
            .append("\n")
            .append("此命令是否使用规则书，取决于在同一个群中上一次骰掷的是ra还是rc。")
            .append("\n")
            .append("rh也可以使用.r命令的所有功能，详情可以参照.man r的回显");


    public static StringBuilder ra = new StringBuilder()
            .append("ra")
            .append("    ")
            .append("房规检定")
            .append("\n")
            .append("技能检定，并计算成功等级(判定依据房规：1~5大成功，96~100大失败)")
            .append("\n")
            .append("用法：.ra [角色名:][属性/技能名][成功率]")
            .append("\n")
            .append("示例：.ra 力量 50 /.ra 侦查 60/.ra 缇娜:侦查")
            .append("\n")
            .append("当已经录入了人物卡数据后可省略成功率且进行简单计算。示例：.ra 力量/.ra 侦查+10/.ra侦查*2")
            .append("\n")
            .append("也可进行数值判定并加以简单计算。示例：.ra 50/.ra 50+10/.ra40*2+10")
            .append("\n")
            .append("需要注意的是，如果你当前已激活多人物卡，那么会强制调用你人物卡中的数据。譬如我当前人物卡的侦查是50，但我输入.ra 侦查 100后，会以50进行鉴定，而非100。你可以使用.ra 侦查+50来进行100的判定")
            .append("\n")
            .append("你也可以使用[角色名:技能]的方式对你其它角色卡的技能进行判定，这一般多用于kp带团中为多个npc的技能进行检定时。如[.ra 莱娜:斗殴]")
            .append("\n")
            .append("当你开启log功能，并已加入本群team后（相关命令可以查阅.man team和.man log on），通过此命令+技能名进行检定成功，会自动记录到en记录器，在结团时可以使用.team en命令查看你正常游戏成功过的技能");


    public static StringBuilder rc = new StringBuilder()
            .append("rc")
            .append("    ")
            .append("规则书检定")
            .append("\n")
            .append("技能检定，并计算成功等级(判定依据七版规则书限定：1大成功，若检定需要骰出的上限大于等于50，而骰出了100，那么大失败发生。若检定需要骰出的上限小于50，而骰出了96-100，那么大失败发生。)")
            .append("\n")
            .append("用法：.rc[角色名:][属性/技能名][成功率]")
            .append("\n")
            .append("示例：.rc 力量 50 /.rc 侦查 60/.ra 缇娜:侦查")
            .append("\n")
            .append("当已经录入了人物卡数据后可省略成功率且进行简单计算。示例：.rc 力量/.rc 侦查+10/.rc侦查*2")
            .append("\n")
            .append("也可进行数值判定并加以简单计算。示例：.rc 50/.rc50+10/.rc40*2+10")
            .append("\n")
            .append("来自规则书的例子：哈维有55%的图书馆使用技能。若他搜索图书馆寻找线索，守秘人可要求一个图书馆使用检定。由于他的技能是55%，因此只有骰出100时是大失败。若哈维在黑暗中偷偷搜索一所私人图书馆，仅有一支蜡烛照明，守秘人可将难度等级设为困难，要求骰出27以下。此时，哈维骰出96-100均为大失败。")
            .append("\n")
            .append("需要注意的是，如果你当前已激活多人物卡，那么会强制调用你人物卡中的数据。譬如我当前人物卡的侦查是50，但我输入.ra 侦查 100后，会以50进行鉴定，而非100。你可以使用.ra 侦查+50来进行100的判定")
            .append("\n")
            .append("你也可以使用[角色名:技能]的方式对你其它角色卡的技能进行判定，这一般多用于kp带团中为多个npc的技能进行检定时。如[.ra 莱娜:斗殴]");

    public static StringBuilder set = new StringBuilder()
            .append("set")
            .append("    ")
            .append("设置该群默认骰")
            .append("\n")
            .append("用法：.set [骰子面数]")
            .append("\n")
            .append("示例：.set20(设置该群默认骰为20面骰)")
            .append("\n")
            .append("未设置则默认骰为100面骰")
            .append("\n")
            .append("此设置是持久化的，所有塔骰系都可以读取到，无需重新设置。")
            .append("\n")
            .append("此设置是以群为单位的，不会影响你在别的群中的最大默认骰");

    public static StringBuilder rb = new StringBuilder()
            .append("rb")
            .append("    ")
            .append("骰掷奖励骰并进行判定")
            .append("\n")
            .append("骰掷奖励骰并进行判定（可进行简单计算）（判定依据规则书：1为大成功。若检定需要骰出的上限大于等于50，而骰出了100，那么大失败发生；若检定需要骰出的上限小于50，而骰出了96-100，那么大失败发生。）")
            .append("\n")
            .append("用法：.rb[奖励骰个数] [角色名:][技能/属性/成功率]")
            .append("\n")
            .append("示例：.rb/.rb2 力量/.rb3 侦查+10/.rb 30*2+10/.rb3 缇娜:侦查")
            .append("\n")
            .append("在进行属性及技能判定前需要录入人物卡数据。当奖励骰个数为1时可将其置空。当需进行[技能/属性/成功率]判定时，在其与奖励骰个数之间添加一个（空格）。")
            .append("\n")
            .append("对每个奖励骰：在通常的一次百面骰之外，骰一个额外的十位骰。十位采用会给出较好的（一般来说是较小的）结果的那个十位骰。例如：进行奖励骰鉴定: D100=42[奖励骰:1] = 12。")
            .append("\n")
            .append("需要注意的是，如果你当前已激活多人物卡，那么会强制调用你人物卡中的数据。譬如我当前人物卡的侦查是50，但我输入.ra 侦查 100后，会以50进行鉴定，而非100。你可以使用.ra 侦查+50来进行100的判定")
            .append("\n")
            .append("你也可以使用[角色名:技能]的方式对你其它角色卡的技能进行判定，这一般多用于kp带团中为多个npc的技能进行检定时。如[.ra 莱娜:斗殴]")
            .append("\n")
            .append("此命令是否使用规则书，取决于在同一个群中上一次骰掷的是ra还是rc。私聊时默认为使用规则书")
            .append("\n")
            .append("当你开启log功能，并已加入本群team后（相关命令可以查阅.man team和.man log），通过此命令+技能名进行检定成功，会自动记录到en记录器，在结团时可以使用.team en命令查看你正常游戏成功过的技能");

    public static StringBuilder rp = new StringBuilder()
            .append("rp")
            .append("    ")
            .append("惩罚骰检定并进行判定")
            .append("\n")
            .append("骰掷惩罚骰并进行判定（可进行简单计算）（判定依据规则书：1为大成功。若检定需要骰出的上限大于等于50，而骰出了100，那么大失败发生；若检定需要骰出的上限小于50，而骰出了96-100，那么大失败发生。）")
            .append("\n")
            .append("用法：.r[个数#]p[惩罚骰个数] [角色名:][技能/属性/成功率]")
            .append("\n")
            .append("示例：.rp/.rp2 力量/.rp3 侦查+10/.rp 30*2+10/.rp3 缇娜:侦查/.rp3# 手枪射击")
            .append("\n")
            .append("此外，在你进行譬如手枪射击检定时，你需要连续过2个或更多惩罚投，你可以使用#命令进行如下骰掷（这里假定手枪射击技能为60）")
            .append("\n")
            .append("用法：.rp[重复次数]#[惩罚投个数] [检定值]")
            .append("\n")
            .append("示例：.rp3#3 60")
            .append("\n")
            .append("在进行属性及技能判定前需要录入人物卡数据。当惩罚骰个数为1时可将其置空。当需进行[技能/属性/成功率]判定时，在其与惩罚骰个数之间添加一个（空格）。")
            .append("\n")
            .append("对每个惩罚骰：在通常的一次百面骰之外，骰一个额外的十位骰。十位采用会给出较坏的（一般来说是较大的）结果的那个十位骰。例如：进行惩罚骰鉴定: D100=42[惩罚骰:7] = 72。")
            .append("\n")
            .append("需要注意的是，如果你当前已激活多人物卡，那么会强制调用你人物卡中的数据。譬如我当前人物卡的侦查是50，但我输入.ra 侦查 100后，会以50进行鉴定，而非100。你可以使用.ra 侦查+50来进行100的判定")
            .append("\n")
            .append("此命令是否使用规则书，取决于在同一个群中上一次骰掷的是ra还是rc。私聊时默认为使用规则书")
            .append("\n")
            .append("你也可以使用[角色名:技能]的方式对你其它角色卡的技能进行判定，这一般多用于kp带团中为多个npc的技能进行检定时。如[.ra 莱娜:斗殴]");

    public static StringBuilder sc = new StringBuilder()
            .append("sc")
            .append("    ")
            .append("理智检定")
            .append("\n")
            .append("理智检定（判定依据规则书：1为大成功。若检定需要骰出的上限大于等于50，而骰出了100，那么大失败发生；若检定需要骰出的上限小于50，而骰出了96-100，那么大失败发生。")
            .append("\n")
            .append("用法：.sc[成功损失]/[失败损失] [当前理智值或目标人物卡]")
            .append("\n")
            .append("示例：.sc 0/1 50|.sc 1d6/1d10 60|.sc 1d2/1d6 缇娜")
            .append("\n")
            .append("也可用该指令进行回san。")
            .append("\n")
            .append("示例：.sc -1/-1d3 50 /.sc-1d6/-1d10 60/.sc -5/-5 60")
            .append("\n")
            .append("当录入人物卡信息以后，可以省去当前理智值，当调用当前人物卡以后，结果会更新到人物卡中。当已加入小队时，小队中的数据将实时更改")
            .append("\n")
            .append("你也可以使用.sc [表达式] [角色名]的方式对你其它角色卡进行理智检定，这一般多用于kp带团中为多个npc进行理智检定时（比如pc喊来的打手）。如[.sc 1d2/1d6 莱娜]")
            .append("\n")
            .append("此命令是否使用规则书，取决于在同一个群中上一次骰掷的是ra还是rc。私聊时默认为使用规则书")
            .append("\n")
            .append("当理智判定大失败后，自动失去最大值理智值。当检定大成功时，自动提示使用自救规则（由守秘人做最终决定）");

    public static StringBuilder ti = new StringBuilder()
            .append("ti")
            .append("    ")
            .append("临时疯狂症状");

    public static StringBuilder li = new StringBuilder()
            .append("li")
            .append("    ")
            .append("总结疯狂症状");

    public static StringBuilder en = new StringBuilder()
            .append("en")
            .append("    ")
            .append("技能/属性成长检定")
            .append("\n")
            .append("用法：.en[技能][成功率]")
            .append("\n")
            .append("示例：.en侦查50")
            .append("\n")
            .append("若调用人物卡数据则可省去后面的成功率，并结果自动更新到人物卡。")
            .append("\n")
            .append("若使用了奖励骰则不能获得技能成长。对于对抗检定，双方可能都实现某种程度的成功，但只有一方获胜，也只有胜者可以获得技能成长。");

    public static StringBuilder hiy = new StringBuilder()
            .append("hiy")
            .append("    ")
            .append("获取骰点历史")
            .append("\n")
            .append("获取骰点历史，是你当前QQ号在所有群的骰点总历史概览。但只有ra和rc会被记录");

    public static StringBuilder coc = new StringBuilder()
            .append("coc")
            .append("    ")
            .append("coc人物属性做成")
            .append("\n")
            .append("用法：.coc[6/7] [做成个数]")
            .append("\n")
            .append("示例：.coc6 5/.coc7 5")
            .append("\n")
            .append("当省去[6/7]时，人物做成默认为7版。")
            .append("\n")
            .append("coc6d/.coc7d    为详细人物做成，一次只能生成一张人物卡。");

    public static StringBuilder gas = new StringBuilder()
            .append("gas")
            .append("    ")
            .append("6版拓展规则煤气灯特征抽取。");


    public static StringBuilder bg = new StringBuilder()
            .append("bg")
            .append("    ")
            .append("随机coc人物背景抽取，内容来自规则书。");


    public static StringBuilder tz = new StringBuilder()
            .append("tz")
            .append("    ")
            .append("非官方特质抽取")
            .append("\n")
            .append("非官方特质抽取。是朋友给的，不太建议使用，仅做娱乐项目和纪念意义");


    public static StringBuilder rav = new StringBuilder()
            .append("rav")
            .append("    ")
            .append("对抗骰点（房规）")
            .append("\n")
            .append("用法：.rav [角色名:][表达式]")
            .append("\n")
            .append("示例：.rav 力量/.rav 60/.rav 缇娜:侦查")
            .append("\n")
            .append("技能对抗（判定依据房规：1~5大成功，96~100大失败。）")
            .append("\n")
            .append("用法1:在群中使用，第一次使用被称为先手，第二次使用会成为后手。骰娘会自动给出对抗结论，采用对抗等级->投出点数->技能等级的顺序进行比较。")
            .append("\n")
            .append("用法2:当您已经在群中使用.kp进行kp身份设定后。可以私聊骰子.rav命令进行骰掷，视为在群中骰掷。骰掷技能和结果不会暴露给PL。")
            .append("\n")
            .append("你也可以使用[角色名:技能]的方式对你其它角色卡的技能进行判定，这一般多用于kp带团中为多个npc的技能进行检定时。如[.rav 莱娜:斗殴]")
            .append("\n")
            .append("使用格式可见于【.ra】指令。");

    public static StringBuilder rcv = new StringBuilder()
            .append("rcv")
            .append("    ")
            .append("对抗骰点（规则书）")
            .append("\n")
            .append("用法：.rcv [角色名:][表达式]")
            .append("\n")
            .append("示例：.rcv 力量/.rcv 60/.rcv 缇娜:侦查")
            .append("\n")
            .append("技能对抗（判定依据规则书：1为大成功。若检定需要骰出的上限大于等于50，而骰出了100，那么大失败发生；若检定需要骰出的上限小于50，而骰出了96-100，那么大失败发生。）")
            .append("\n")
            .append("用法1:在群中使用，第一次使用被称为先手，第二次使用会成为后手。骰娘会自动给出对抗结论，采用对抗等级->投出点数->技能等级的顺序进行比较。")
            .append("\n")
            .append("用法2:当您已经在群中使用.kp进行kp身份设定后。可以私聊骰子.rav命令进行骰掷，视为在群中骰掷。骰掷技能和结果不会暴露给PL。")
            .append("\n")
            .append("你也可以使用[角色名:技能]的方式对你其它角色卡的技能进行判定，这一般多用于kp带团中为多个npc的技能进行检定时。如[.rav 莱娜:斗殴]")
            .append("\n")
            .append("使用格式可见于【.rc】指令。");

    public static StringBuilder st = new StringBuilder()
            .append("st")
            .append("    ")
            .append("人物卡属性录入")
            .append("\n")
            .append("用法：.st[角色名]-[属性/技能][数值]")
            .append("\n")
            .append("示例：.st缇娜-力量50/.st缇娜-力量50体质60智力70..../.st力量50体质60智力70....")
            .append("\n")
            .append("st[角色名]")
            .append("    ")
            .append("切换当前人物卡到已录入[角色名]")
            .append("\n")
            .append("录入非标准技能名称则无法缓存也无法识别，且如未设置角色名则进入自定义模式，录入信息不保存到云端。所有塔系核心骰娘共用一个云数据库，同用一个人物卡档位，此设置跨群仍然有效。")
            .append("\n")
            .append("单纯使用.st角色名进行切换，注意team中的人物、检定时的数值同时也会因此变换")
            .append("\n")
            .append("注意：需在录入第一个技能或属性前添加-（减号，半角字符），你的人物名称不要携带-（减号，半角字符）字符")
            .append("\n")
            .append("此外有一个特殊事项，这里提供一个名为hpc的参数，用于在特殊规则下微调生命值上限，使用.st角色名-hpc5或.stc hpc5来实现");


    public static StringBuilder st_list = new StringBuilder()
            .append("st list")
            .append("    ")
            .append("查看人物卡列表")
            .append("\n")
            .append("查看已录入人物卡列表，分为当前角色和备选角色，会恒定存在一个自定义角色以供传统人物卡录入使用。你可以使用.man st命令查看如何录入多人物卡");

    public static StringBuilder st_rm = new StringBuilder()
            .append("st rm ")
            .append("    ")
            .append("删除人物卡")
            .append("\n")
            .append("用法：.st rm [角色名]")
            .append("\n")
            .append("示例：.st rm 缇娜")
            .append("\n")
            .append("不能删除当前选定人物卡，若此命令无回显则代表未找到此角色");

    public static StringBuilder st_clr = new StringBuilder()
            .append("st clr ")
            .append("    ")
            .append("清空数据")
            .append("\n")
            .append("用法：.st clr")
            .append("\n")
            .append("示例：.st clr")
            .append("\n")
            .append("尝试清空数据，如果已选择人物卡则不会删除，而是自动切换到自定义栏位，并重置自定义栏位。如果已经在自定义栏位，则直接重置数据");

    public static StringBuilder st_show = new StringBuilder()
            .append("st show")
            .append("    ")
            .append("展示人物卡属性")
            .append("\n")
            .append("用法：.st show|.st show [技能]")
            .append("\n")
            .append("示例：.st show|.st show 侦查")
            .append("\n")
            .append("显示当前人物卡属性及技能，此命令会有些刷屏，建议私聊使用");

    public static StringBuilder st_lock = new StringBuilder()
            .append("st lock")
            .append("    ")
            .append("锁定当前人物卡")
            .append("\n")
            .append("用法：.st lock/.st unlock")
            .append("\n")
            .append("示例：.st lock/.st unlock")
            .append("\n")
            .append("锁定与解锁当前人物卡，用于在某个长团群中锁定人物卡。这时其他群切卡时不会影响此群的当前人物卡设定。使用.st unlock解锁");

    public static StringBuilder st_rename = new StringBuilder()
            .append("st rename")
            .append("    ")
            .append("人物卡改名")
            .append("\n")
            .append("用法：.st rename [新名称] ")
            .append("\n")
            .append("示例：.st rename 新名字")
            .append("\n")
            .append("为当前人物卡改名，如果当前使用多人物卡，则会自动更名。如果当前使用自定义栏位，则会使用自定义栏位中的技能数据建立新卡");

    public static StringBuilder st_cp = new StringBuilder()
            .append("st cp")
            .append("    ")
            .append("人物卡复制")
            .append("\n")
            .append("用法：.st cp [人物卡名称] [at对方]")
            .append("\n")
            .append("示例：.st cp 周沫 @斯塔尼亚 ")
            .append("\n")
            .append("将自己一张人物卡数据传递给接收者档位中，注意在人物卡和艾特中间有空格。而且尽量避免传递接收者已有角色名的人物卡");

    public static StringBuilder kp = new StringBuilder()
            .append("kp")
            .append("    ")
            .append("设置带团群")
            .append("\n")
            .append("设置该群为带团群，并设置自己为本群主持人")
            .append("\n")
            .append("配合team系列指令及rav/rcv指令，使用.man rav和.man rcv查看相应命令帮助");

    public static StringBuilder team_set = new StringBuilder()
            .append("team set")
            .append("    ")
            .append("添加群成员进入小队")
            .append("\n")
            .append("用法：.team set@[pl]")
            .append("\n")
            .append("示例：.team set@缇娜")
            .append("\n")
            .append("你可以一次添加多个成员，如.team set @缇娜 @安娜 @维娜")
            .append("\n")
            .append("你可以使用.man 查看team命令的具体用法");

    public static StringBuilder notice_input = new StringBuilder()
            .append("notice input")
            .append("    ")
            .append("录入公告")
            .append("\n")
            .append("用法：.notice input [公告主题]【换行】[公告内容]")
            .append("\n")
            .append("示例：.notice input 测试" +
                    "这是公告正文")
            .append("\n")
            .append("指令为群聊指令，录入公告需骰娘为群管理,录入后需其他群管理进行审核。录入时，公告主题尽量简单且独特。");

    public static StringBuilder notice_show = new StringBuilder()
            .append("notice show")
            .append("    ")
            .append("查看未审核公告")
            .append("\n")
            .append("用法：.notice show")
            .append("\n")
            .append("示例：.notice show")
            .append("\n")
            .append("指令为群聊指令，查看群内未审核公告条目。");

    public static StringBuilder notice_agree = new StringBuilder()
            .append("notice agree")
            .append("    ")
            .append("审核并通过公告")
            .append("\n")
            .append("用法：.notice agree [公告主题]")
            .append("\n")
            .append("示例：.notice agree 测试")
            .append("\n")
            .append("指令为群聊指令，审核并通过公告。因为是针对公告主题进行识别，所以同公告主题词的公告会同时处理。");

    public static StringBuilder notice_refuse = new StringBuilder()
            .append("notice refuse")
            .append("    ")
            .append("审核并拒绝公告")
            .append("\n")
            .append("用法：.notice refuse [公告主题]")
            .append("\n")
            .append("示例：.notice refuse 测试")
            .append("\n")
            .append("指令为群聊指令，审核并拒绝公告。因为是针对公告主题进行识别，所以同公告主题词的公告会同时处理。");

    public static StringBuilder team_lock = new StringBuilder()
            .append("team lock")
            .append("    ")
            .append("锁定当前小队内成员人物卡")
            .append("\n")
            .append("用法：.team lock")
            .append("\n")
            .append("示例：.team lock")
            .append("\n")
            .append("锁定人物卡后，小队成员在其他群切换人物卡时本群不会跟随变动。本核心并不支持多开跑团或者上午一个团下午一个团的玩法，所以锁定需要额外命令");

    public static StringBuilder team = new StringBuilder()
            .append("team")
            .append("    ")
            .append("小队系统")
            .append("\n")
            .append("查看当前小队成员hp、san、db、体格等信息，此信息会随着人物卡信息变动而实时变动。成员会以录入敏捷值进行排序。")
            .append("\n")
            .append("此命令以群为单位，并且一个群同一时间仅可存在一个小队")
            .append("\n")
            .append("录入后，你可以使用多种小队管理命令，详情参见:\n")
            .append("man team rm")
            .append("\n")
            .append("man team clr")
            .append("\n")
            .append("man team call")
            .append("\n")
            .append("man team hp")
            .append("\n")
            .append("man team san")
            .append("\n")
            .append("man team desc")
            .append("\n")
            .append("man team en")
            .append("\n")
            .append("man team set")
            .append("\n")
            .append("man team rename");

    public static StringBuilder log = new StringBuilder()
            .append("log")
            .append("    ")
            .append("日志模块")
            .append("\n")
            .append("在开启log功能后，将记录你的跑团内容，在每次save的时候记得关上它，在结团的时候就可以获得一份染色文件")
            .append("\n")
            .append("此命令以群为单位，并且一个群同一时间仅可开启一个log")
            .append("\n")
            .append("此外为了避免一个日志积累过多导致无法染色，请各位勤开日志分节")
            .append("\n")
            .append("en功能仅可在log开启时被记录，子指令包括:\n")
            .append("log on 开启日志")
            .append("\n")
            .append("log off 关闭日志")
            .append("\n")
            .append("log list 日志列表")
            .append("\n")
            .append("log get 日志提取")
            .append("\n")
            .append("log rm 日志删除")
            .append("\n")
            .append("log group get 多群日志提取")
            .append("\n")
            .append("log group list 多群日志提取列表");

    public static StringBuilder team_desc = new StringBuilder()
            .append("team desc")
            .append("    ")
            .append("骰娘私聊主持人小队成员人物卡属性");

    public static StringBuilder team_en = new StringBuilder()
            .append("team en")
            .append("    ")
            .append("统计小队内成员技能成功情况")
            .append("\n")
            .append("统计情况包括：一个角色从进入此队伍直到被移除出队伍，此段时间内ra技能/rc技能/rav技能/rcv技能判定成功。")
            .append("注意只有在log打开的情况下技能成功才会被记录，详情查看.man log");

    public static StringBuilder team_hp = new StringBuilder()
            .append("team hp")
            .append("    ")
            .append("增减小队成员hp")
            .append("\n")
            .append("用法：.team hp @[pl]（或all字符） [数值]")
            .append("\n")
            .append("示例：.team hp @缇娜 1/.team hp @缇娜 +5/.team hp @缇娜 @安娜 1d3/.team hp all 1d3")
            .append("\n")
            .append("当数值前不带符号时为减hp,当数值前为+时为回复hp。可以使用表达式，使用表达式时每个成员分别计算数值")
            .append("\n")
            .append("你可以使用all字符（不是at全体）代替at每一个成员的行为");

    public static StringBuilder team_san = new StringBuilder()
            .append("team san")
            .append("    ")
            .append("增减小队成员san值")
            .append("\n")
            .append("用法：.team san [pl] [pl]（或all字符） [SanCheck表达式]/.team san [pl] +[数值]")
            .append("\n")
            .append("示例：.team san @缇娜 @安娜 1/1d3/.team san @缇娜 +5/.team san all +5")
            .append("\n")
            .append("当数值前不带符号时为扣除san,当数值前为+时为回复san。可以使用表达式，使用表达式时每个成员分别计算数值")
            .append("\n")
            .append("你可以使用all字符（不是at全体）代替at每一个成员的行为");

    public static StringBuilder team_rm = new StringBuilder()
            .append("team rm")
            .append("    ")
            .append("删除小队成员")
            .append("\n")
            .append("用法：.team rm @[pl]")
            .append("\n")
            .append("示例：.team rm @缇娜");

    public static StringBuilder team_rename = new StringBuilder()
            .append("team rename")
            .append("    ")
            .append("修改小队成员名片")
            .append("\n")
            .append("注意，修改时骰子必须有管理权限，且修改对象权限不得高于骰子，修改后格式为：人物卡名 hp san de]");

    public static StringBuilder team_clr = new StringBuilder()
            .append("team clr")
            .append("    ")
            .append("清空小队");

    public static StringBuilder team_call = new StringBuilder()
            .append("team call")
            .append("    ")
            .append("自动at小队内所有成员");

    public static StringBuilder log_on = new StringBuilder()
            .append("log on")
            .append("    ")
            .append("开始记录跑团日志")
            .append("\n")
            .append("用法：.log on [日志名称]")
            .append("\n")
            .append("示例：.log on 毒汤")
            .append("\n")
            .append("注意，如果你开启的日志已经存在，则会在原基础上追加，而非清空后重新开启。同一个群同一时间只可以打开一个日志");

    public static StringBuilder log_off = new StringBuilder()
            .append("log off")
            .append("    ")
            .append("停止记录跑团日志")
            .append("\n")
            .append("用法：.log off [日志名称]")
            .append("\n")
            .append("示例：.log off 毒汤")
            .append("\n")
            .append("如果一个日志被关闭，则它可以被.log get [日志名称]。此外它还可以被.log on [日志名称]再次开启并追加");

    public static StringBuilder log_list = new StringBuilder()
            .append("log list")
            .append("    ")
            .append("查看当前群log列表 ");

    public static StringBuilder log_group_list = new StringBuilder()
            .append("log group list")
            .append("    ")
            .append("获取多群日志群列表")
            .append("\n")
            .append("用法：.log group list[日志名]")
            .append("\n")
            .append("示例：.log group list 测试")
            .append("\n")
            .append("你会得到该日志名下，自己与骰子都在的群，其他群即使有这个日志也看不到。");

    public static StringBuilder log_group_get = new StringBuilder()
            .append("log group get")
            .append("    ")
            .append("获取多群日志文件")
            .append("\n")
            .append("用法：.log group get [群号] [日志名]")
            .append("\n")
            .append("示例：..log group 815245928,1016886852 测试")
            .append("\n")
            .append("使用多群日志提取需保证骰子在需要提取日志的群中，且所有群中均存在有该名称的日志。")
            .append("\n")
            .append("你会收到三个文件，分别是txt文件，docx染色文件和txt去括号文件。去括号文件会自动去除玩家使用()包裹的场外对话。你需要确保你当前QQ号的QQ邮箱可用");

    public static StringBuilder log_get = new StringBuilder()
            .append("log get")
            .append("    ")
            .append("获取日志文件")
            .append("\n")
            .append("用法：.log get [日志名称]")
            .append("\n")
            .append("示例：.log get 毒汤")
            .append("\n")
            .append("你会收到三个文件，分别是txt文件，docx染色文件和txt去括号文件。去括号文件会自动去除玩家使用()包裹的场外对话。你需要确保你当前QQ号的QQ邮箱可用");

    public static StringBuilder log_rm = new StringBuilder()
            .append("log rm")
            .append("    ")
            .append("删除记录")
            .append("\n")
            .append("用法：.log rm [日志名称]")
            .append("\n")
            .append("示例：.log rm 毒汤");

    public static StringBuilder ob = new StringBuilder()
            .append("ob")
            .append("    ")
            .append("进入旁观模式")
            .append("\n")
            .append("用法：\n.ob list    查看当前旁观者列表\n.ob exit    命令退出旁观列表\n.ob clr    清空旁观列表")
            .append("\n")
            .append("加入ob列表后，你可以收到当前群内任何人的暗骰结果");

    public static StringBuilder ral = new StringBuilder()
            .append("ral")
            .append("    ")
            .append("多次数值检定（房规）")
            .append("\n")
            .append("用法：.ral [成功率] [判定次数]")
            .append("\n")
            .append("示例：.ral50 10")
            .append("\n")
            .append("如果次数太多，可能会暂时没有回复，请耐心等待");

    public static StringBuilder rcl = new StringBuilder()
            .append("rcl")
            .append("    ")
            .append("多次数值检定（规则书）")
            .append("\n")
            .append("用法：.rcl [成功率] [判定次数]")
            .append("\n")
            .append("示例：.rcl 50 10")
            .append("\n")
            .append("如果次数太多，可能会暂时没有回复，请耐心等待");

    public static StringBuilder clue = new StringBuilder()
            .append("clue")
            .append("    ")
            .append("添加线索")
            .append("\n")
            .append("用法：.clue [线索内容]")
            .append("\n")
            .append("示例：.clue 钥匙被埃德加拿走")
            .append("\n")
            .append("录入是没有任何回显的，你可以使用`.clue show`命令查看所有录入的内容。")
            .append("\n")
            .append("注意此命令仅仅是给玩家记录关键字用的，不要长篇录入");

    public static StringBuilder clue_show = new StringBuilder()
            .append("clue show")
            .append("    ")
            .append("显示当前群内记录线索集");

    public static StringBuilder clue_rm = new StringBuilder()
            .append("clue rm")
            .append("    ")
            .append("删除线索")
            .append("\n")
            .append("用法：.clue rm [线索时间戳]")
            .append("\n")
            .append("示例：.clue rm 2019-09-28 19:51:42")
            .append("\n")
            .append("你可以在.clue show回显中找到相关时间戳");

    public static StringBuilder clue_clr = new StringBuilder()
            .append("clue clr")
            .append("    ")
            .append("线索集清空");

    public static StringBuilder dnd = new StringBuilder()
            .append("dnd")
            .append("    ")
            .append("dnd人物属性做成")
            .append("\n")
            .append("用法：.dnd [做成个数]")
            .append("\n")
            .append("示例：.dnd 5");

    public static StringBuilder ri = new StringBuilder()
            .append("ri")
            .append("    ")
            .append("先攻骰掷")
            .append("\n")
            .append("用法：.ri [调整值]（可选） [骰掷者名称]（可选）|.ri 优势劣势表达式 [骰掷者名称]（可选）")
            .append("\n")
            .append("示例：.ri/.ri+4/.ri 4/.ri-4/.ri 4大雪主/.ri 地精1/.ri 2d20k1 地精1/.ri 2d20q1 老热望")
            .append("\n")
            .append("先攻骰掷，允许附加命令，譬如.ri+4等，如果在数字后面加入其它字符，将判定为你为什么东西骰先攻")
            .append("\n")
            .append("此命令不会有回显，使用.init命令查看先攻列表，使用.init clr命令清空先攻列表");

    public static StringBuilder init = new StringBuilder()
            .append("init")
            .append("    ")
            .append("先攻列表")
            .append("\n")
            .append("查看当前先攻列表，需要使用.ri命令投先攻，详情查看.man ri")
            .append("\n")
            .append("init clr")
            .append("    ")
            .append("清空先攻列表");

    public static StringBuilder init_clr = new StringBuilder()
            .append("init clr")
            .append("    ")
            .append("清空先攻列表");

    public static StringBuilder init_rm = new StringBuilder()
            .append("init rm")
            .append("    ")
            .append("删除某条先攻骰掷记录")
            .append("\n")
            .append("用法：.init rm [用户名]")
            .append("\n")
            .append("示例：.init rm 老热望")
            .append("\n")
            .append("删除一条先攻骰掷记录，用于先攻骰掷操作失误，或此单位已死亡的情况下")
            .append("\n")
            .append("这个用户名是指，你输入.init后，于[]内的全部内容");

    public static StringBuilder init_set = new StringBuilder()
            .append("init set")
            .append("    ")
            .append("指定一条已有结果的先攻记录")
            .append("\n")
            .append("用法：.init set [用户名] [结果]")
            .append("\n")
            .append("示例：.init set 老热望 1")
            .append("\n")
            .append("指定一条已有结果的先攻记录，一般用于不小心清空了先攻记录，或某人不小心多骰了一次希望取第一次，可以用这条命令强制输入进去");

    public static StringBuilder magic = new StringBuilder()
            .append("magic")
            .append("    ")
            .append("dnd魔法速查")
            .append("\n")
            .append("用法：.magic5e [法术名]/.magic3r [法术名]")
            .append("\n")
            .append("示例：.magic5e 火球术/.magic3r 酸雾术")
            .append("\n")
            .append("如果你的法术名输入错误，那么会自动提示你可能的名称列表")
            .append("\n")
            .append("因为词条采用的译文版本可能与各位平时使用版本不同，所以各位如果遇到查询不到的词条，请联系1329790231（载荷）进行补充或修改");


    public static StringBuilder con = new StringBuilder()
            .append("con")
            .append("    ")
            .append("dnd状态速查")
            .append("\n")
            .append("用法：.con [版本] [名称]")
            .append("\n")
            .append("示例：.con 5e 力竭/.con 3r 被吹动")
            .append("\n")
            .append("如果你的状态名输入错误，那么会自动提示你可能的状态名称列表")
            .append("\n")
            .append("因为词条采用的译文版本可能与各位平时使用版本不同，所以各位如果遇到查询不到的词条，请联系1329790231（载荷）进行补充或修改");

    public static StringBuilder rule = new StringBuilder()
            .append("rule")
            .append("    ")
            .append("coc7版规则速查")
            .append("\n")
            .append("用法：.rule [规则名]")
            .append("\n")
            .append("示例：.rule 心理学")
            .append("\n")
            .append("如果你的名称输入错误，那么会自动提示你可能的规则名称列表");

    public static StringBuilder name = new StringBuilder()
            .append("name")
            .append("    ")
            .append("生成随机姓名")
            .append("\n")
            .append("用法：.name[数量]/.name [国籍]")
            .append("\n")
            .append("示例：.name 5/.name ch/.name en/.name jp");

    public static StringBuilder jrrp = new StringBuilder()
            .append("jrrp")
            .append("    ")
            .append("查看今日人品值")
            .append("\n");

    public static StringBuilder deck = new StringBuilder()
            .append("deck")
            .append("    ")
            .append("牌库抽取")
            .append("\n")
            .append("具体内容视骰娘搭载牌堆而定。使用【.deck help】查看骰娘当前装载的牌组及子命令");

    public static StringBuilder rank = new StringBuilder()
            .append("rank")
            .append("    ")
            .append("抢占模式")
            .append("\n")
            .append("具体内容请见贴：https://sinanya.com/discuz/forum.php?mod=viewthread&tid=17&extra=page%3D1");

    public static StringBuilder deck_help = new StringBuilder()
            .append("deck help")
            .append("    ")
            .append("牌库抽取帮助")
            .append("\n")
            .append("查看当前骰娘当前装载的牌组及子命令");

    public static StringBuilder getbook_card = new StringBuilder()
            .append("getbook card")
            .append("    ")
            .append("获取人物卡")
            .append("\n")
            .append("这是一张特制的人物卡，在第二页有给骰子使用的人物录入字符串（支持这个骰子的多人物卡）");

    public static StringBuilder getbook_make = new StringBuilder()
            .append("getbook make")
            .append("    ")
            .append("车卡指南")
            .append("\n")
            .append("这是一张基于.getbook card拿到的人物卡的车卡指南，适用于7版规则与1901规则书，写的非常详细，即使没读过规则书的人也通常不会出问题");

    public static StringBuilder getbook_kp = new StringBuilder()
            .append("getbook kp")
            .append("    ")
            .append("获取coc7版规则书")
            .append("\n")
            .append("获取一本1901规则书（PDF格式），我会在近期更新1907版本");

    public static StringBuilder getbook_rp = new StringBuilder()
            .append("getbook rp")
            .append("    ")
            .append("获取rp360问")
            .append("\n")
            .append("这是一个对rp很有帮助的提问集，不过只有问没有答。或许优秀的RP本就没有穷尽吧");

    public static StringBuilder w = new StringBuilder()
            .append("w")
            .append("    ")
            .append("无限骰点的简化命令")
            .append("\n")
            .append("用法：.w/.w[个数]/.w[个数]a[加骰线]/.w[个数]a[加骰线]k[成功线]/.w[个数]a[加骰线]k[成功线]+[调整值]")
            .append("\n")
            .append("示例：.w/.w10/.w10a5/.w10a5k2/.w10a5k2+5")
            .append("\n")
            .append("这是无限团的骰池的简化命令，不会输出骰点过程直接打印结果，骰掷次数不可以小于5\n")
            .append("命令中带h时恒定私聊回复，视为暗骰");

    public static StringBuilder ww = new StringBuilder()
            .append("ww")
            .append("    ")
            .append("无限骰点的常规命令")
            .append("\n")
            .append("用法：.ww/.ww[个数N]/.ww[个数N]a[加骰线a]/.ww[个数N]a[加骰线a]k[成功线n]/.ww[个数N]a[加骰线a]k[成功线n]+[调整值b]/.ww[个数N]a[加骰线a]k[成功线n]m[面数m]+[调整值b]/.wwh(后面可选方法相同)")
            .append("\n")
            .append("示例：.ww/.ww10/.ww10a5/.ww10a5k2/.ww10a5k2+5/.ww10a5k2m10+5")
            .append("\n")
            .append("这是无限团的骰池的常规命令。骰掷次数不可以小于5。\n")
            .append("当你的投掷次数在5-50之间时，会在群中输出详细信息。\n")
            .append("m面数不可以小于成功线n与加骰线a\n")
            .append("当你的投掷次数在51-300之间时，会在群中输出简略信息，并私聊你详细信息\n")
            .append("当你的投掷次数大于300时，只会在群中输出简略信息\n")
            .append("命令中带h时恒定私聊回复，视为暗骰");

    public static StringBuilder ws = new StringBuilder()
            .append("ws")
            .append("    ")
            .append("无限骰点的统计命令")
            .append("\n")
            .append("用法：.ws/.w[个数]/.ws[个数]a[加骰线]/.ws[个数]a[加骰线]k[成功线]/.ws[个数]a[加骰线]k[成功线]+[调整值]")
            .append("\n")
            .append("示例：.ws/.ws10/.ws10a5/.ws10a5k2/.ws10a5k2+5")
            .append("\n")
            .append("这是无限团的骰池的统计命令，骰掷次数不可以小于5。只会在群中输出总览的简略信息\n")
            .append("命令中带h时恒定私聊回复，视为暗骰");

    public static StringBuilder fate = new StringBuilder()
            .append("rf")
            .append("    ")
            .append("命运团的骰点命令")
            .append("\n")
            .append("用法：.rf")
            .append("\n")
            .append("示例：.rf")
            .append("\n")
            .append("这是命运团的骰点信息，命运团规定1、2为-，3、4为0，5、6为+（实际上是-1和+1），并重复骰掷4次，将结果相加");

    public static StringBuilder dw = new StringBuilder()
            .append("dw")
            .append("    ")
            .append("战锤跑团规则速查")
            .append("\n")
            .append("用法：.dw[专长]/.dw[天赋]/.dw[特性]")
            .append("\n")
            .append("示例：.dw 快速反应")
            .append("\n")
            .append("这是基于战锤40K团黑色守望规则，部分规则速查。");

    public static StringBuilder dw_card = new StringBuilder()
            .append("dw card")
            .append("    ")
            .append("战锤人物做成")
            .append("\n")
            .append("用法：.dw card")
            .append("\n")
            .append("这是基于战锤40K团黑色守望规则，星战人物做成");

    public static StringBuilder ban = new StringBuilder()
            .append("ban")
            .append("    ")
            .append("黑名单管理命令")
            .append("\n")
            .append("用法：.ban [rm] user/group/check [QQ号或群号] [缘由]")
            .append("\n")
            .append("示例：.ban user 123 测试封禁/.ban rm group 456")
            .append("\n")
            .append("这是骰子的云黑命令接口，你需要启用云黑选项并设置MasterQQ号才可以使用此命令")
            .append("\n")
            .append("ban后跟user或group，分别意为拉黑个人或群，再后面跟理由")
            .append("\n")
            .append("ban后跟rm再接user或group，意为删除黑名单。但注意，你只能删除自己添加的黑名单，由其他骰主添加的黑名单你无法删除，但命令会回复你谁添加的这个条目")
            .append("\n")
            .append("ban后跟check,可用于查询某人或某群的所有黑名单历史记录,如果是骰主进行查询，则还会显示负责骰子所属的骰主列表,后面不可再跟缘由")
            .append("\n")
            .append("请注意!!! 只有当填写master，并且master与骰子均在群162279609中时，你才可以手工录入黑名单条目。否则就只有被踢出、被禁言、刷屏等拉黑功能生效");

    public static StringBuilder ban_list = new StringBuilder()
            .append("ban list")
            .append("    ")
            .append("黑名单查看命令")
            .append("\n")
            .append("用法：.ban user/group list")
            .append("\n")
            .append("示例：.ban user list 测试封禁/.ban group list")
            .append("\n")
            .append("查看当前生效的黑名单用户/群列表");

    public static StringBuilder white = new StringBuilder()
            .append("white")
            .append("    ")
            .append("白名单管理命令")
            .append("\n")
            .append("用法：.white [rm] user/group [QQ号或群号]")
            .append("\n")
            .append("示例：.white user 123/.white rm group 456")
            .append("\n")
            .append("这是骰子的白名单接口，但注意白名单虽然会上传到云服务器，但并不会被其他骰子调用，是你个人独有的。用法和.man ban中黑名单的用法类似");

    public static StringBuilder white_list = new StringBuilder()
            .append("white list")
            .append("    ")
            .append("白名单查看命令")
            .append("\n")
            .append("用法：.white user/group list")
            .append("\n")
            .append("示例：.white user list/.white group list")
            .append("\n")
            .append("查看当前生效的白名单用户/群列表");

    public static StringBuilder admin = new StringBuilder()
            .append("admin")
            .append("    ")
            .append("骰主管理器")
            .append("\n")
            .append("用法：.admin on/off/exit/ban [群号]")
            .append("\n")
            .append("示例：.admin exit 1234567|.admin on 1234567|.admin ban 1234567 辱骂")
            .append("\n")
            .append("如果你已经设置了MasterQQ号，那么你可以通过私聊骰子这条命令，使其强制在某个群开/关/退出。")
            .append("\n")
            .append(".admin ban命令是妍提的需求，可以在退群同时拉黑，但必须填写理由")
            .append("\n")
            .append("拉黑操作会尝试在通知群进行通报");

    public static StringBuilder dice_list = new StringBuilder()
            .append("dice list")
            .append("    ")
            .append("骰娘列表")
            .append("\n")
            .append("用法：.dice list")
            .append("\n")
            .append("示例：.dice list")
            .append("\n")
            .append("通过此命令，可以看到最近1小时内上报存活的骰娘列表（仅限塔系核心）");

    public static StringBuilder group = new StringBuilder()
            .append("group")
            .append("    ")
            .append("群管理命令")
            .append("\n")
            .append("用法：.group jrrp/npc/gas（等其他，详见下方说明）[0/1]")
            .append("\n")
            .append("示例：.group simple 1/.group jrrp 0")
            .append("\n")
            .append("群管理员可以关闭某个群中的骰子的特定功能，仅本群有效，0为关闭，1为开启，包含以下可选开关")
            .append("\n")
            .append("info")
            .append("    ")
            .append("查看当前所有开关的状态和本群的一些基本信息")
            .append("\n")
            .append("jrrp")
            .append("    ")
            .append("今日人品开关")
            .append("\n")
            .append("npc")
            .append("    ")
            .append("npc生成开关")
            .append("\n")
            .append("gas")
            .append("    ")
            .append("煤气灯特质获取开关")
            .append("\n")
            .append("bg")
            .append("    ")
            .append("人物背景信息获取开关")
            .append("\n")
            .append("tz")
            .append("    ")
            .append("玩家自定义特质获取开关")
            .append("\n")
            .append("welcome")
            .append("    ")
            .append("入群欢迎词获取开关")
            .append("\n")
            .append("simple")
            .append("    ")
            .append("简易模式获取开关，开启后会自动关闭譬如jrrp在内的很多开关，并强制关闭骰娘的所有自定义回复语，回归最简洁的样子")
            .append("\n")
            .append("ob")
            .append("    ")
            .append("旁观ob开关，加入ob可以接收到本群所有人的暗骰结果")
            .append("\n")
            .append("deck")
            .append("    ")
            .append("牌堆开关")
            .append("\n")
            .append("rank")
            .append("    ")
            .append("抢占开关")
            .append("\n")
            .append("secret")
            .append("    ")
            .append("秘密团模式开关");

    public static StringBuilder welcome = new StringBuilder()
            .append("welcome")
            .append("    ")
            .append("入群欢迎词")
            .append("\n")
            .append("用法：.welcome [信息/open/close]")
            .append("\n")
            .append("示例：.welcome %s,你好/.welcome close/.welcome open")
            .append("\n")
            .append("入群欢迎词设置，你可以使用%s字符自动at新入群的成员")
            .append("\n")
            .append("welcome close和open可以在不影响已录入的入群词的前提下，开关welcome功能");

    public static StringBuilder group_list = new StringBuilder()
            .append("group list")
            .append("    ")
            .append("群检索命令")
            .append("\n")
            .append("用法：.group list")
            .append("\n")
            .append("示例：.group list")
            .append("\n")
            .append("群检索命令，可以查看骰子都加入了哪些群，每个群的群号、群名是什么，有多少人。此名命令仅私聊可用，此命令仅master可用");

    public static StringBuilder secret = new StringBuilder()
            .append("group secret")
            .append("    ")
            .append("群秘密团模式")
            .append("\n")
            .append("用法：.group secret 1/0")
            .append("\n")
            .append("示例：.group secret 1")
            .append("\n")
            .append("在开启秘密团模式后，群内骰点结果将隐藏显示，同时将骰点结果发送已设置kp");

    public static StringBuilder group_search = new StringBuilder()
            .append("group search")
            .append("    ")
            .append("群查询命令")
            .append("\n")
            .append("用法：.group search [群号]")
            .append("\n")
            .append("示例：.group search 162279609")
            .append("\n")
            .append("群查询命令，查询指定群的群名是什么，有多少人。此名命令仅私聊可用，此命令仅master可用");

    public static StringBuilder group_clean = new StringBuilder()
            .append("group clean")
            .append("    ")
            .append("群清理命令")
            .append("\n")
            .append("用法：.group clean")
            .append("\n")
            .append("示例：.group clean")
            .append("\n")
            .append("有时会出现记录的群数量与实际加入的数量不符，通过此命令将已不存在的群清理掉（可能是由于群解散之类）。此名命令仅私聊可用，此命令仅master可用");

    public static StringBuilder fire = new StringBuilder()
            .append("fire")
            .append("    ")
            .append("向火独行模块")
            .append("\n")
            .append("用法：.fire")
            .append("\n")
            .append("示例：.fire")
            .append("\n")
            .append("向火独行模块是一个将骰子作为守秘人，基于向火独行模组的特殊性制作的独立跑团模块。\n本模块主旨在于帮助刚入COC坑的新人更快的了解游戏过程、名词、玩法");

    public static StringBuilder cnmods = new StringBuilder()
            .append("cnmods")
            .append("    ")
            .append("魔都模组搜索模块")
            .append("\n")
            .append("用法：.cnmods [模组名] [页码]")
            .append("\n")
            .append("示例：.cnmods 死亡循环/.cnmods 死 1/.cnmods 死 2")
            .append("\n")
            .append("魔都模组搜索模块直接接驳在魔都平台上，是受到魔都负责人授权后制作的模块，本模块只提供基于QQ平台的搜索功能，不提供上传/下载功能");

    public static StringBuilder nn = new StringBuilder()
            .append("nn")
            .append("    ")
            .append("取名改卡模块")
            .append("\n")
            .append("用法：.nn [名称]")
            .append("\n")
            .append("示例：.nn/.nn 莱娜")
            .append("\n")
            .append("自动取名模块，当你输入的名称存在时，则自动切换到人物卡。当你输入的名称不存在时，则自动切换到临时人物卡（所有临时人物卡互相覆盖数据，但只用.nn改名不会影响卡中原有数据）。当你没输入任何字符时，系统自动调用随机名字模块给你生成一个名字，并录入临时角色卡，同时因为和st指令关联，所以名字中不可带有-（减号，半角字符）字符");

    public static StringBuilder st_get = new StringBuilder()
            .append("st get")
            .append("    ")
            .append("获取当前人物卡属性")
            .append("\n")
            .append("用法：.st get")
            .append("\n")
            .append("示例：.st get")
            .append("\n")
            .append("获取当前人物卡的属性，与.st show不同的是，它只返回属性值和非默认值的技能");


    public static StringBuilder send = new StringBuilder()
            .append("send")
            .append("    ")
            .append("意见反馈模块")
            .append("\n")
            .append("用法：.send [反馈内容]")
            .append("\n")
            .append("示例：.send 在使用.ww命令时遇到问题，问题特征如下xxxxxxx")
            .append("\n")
            .append("问题反馈模块，会被骰子自动转发给骰子的master，如果有多个master则全部转发。反馈问题会自动包含你个人的QQ号，如果在群中使用也会包含当前群号");

    public static StringBuilder answer = new StringBuilder()
            .append("answer")
            .append("    ")
            .append("意见回复模块")
            .append("\n")
            .append("用法：.answer [目标QQ号]|[信息]")
            .append("\n")
            .append("示例：.answer 1329790231|已收到问题反馈，请加群162279609提供更多相关截图")
            .append("\n")
            .append("问题回复模块，会由骰娘将回复内容发给send提交者，注意只能发给人，不能发送到群");

    public static StringBuilder custom = new StringBuilder()
            .append("custom")
            .append("    ")
            .append("自定义条目检索模块")
            .append("\n")
            .append("用法：.custom [关键词]")
            .append("\n")
            .append("示例：.custom A团关键道具胸针")
            .append("\n")
            .append("自定义条目检索模块，它类似于.magic 5e查询dnd法术或是.rule查询coc技能。但它与这些官方提供的速查不同的是，custom是玩家自行输入的条目，它可能不在规则书内，甚至未必是coc游戏内容的东西，更多是玩家为了更加多样化自己的游戏而添加的条目。只要通过.custom input命令录入并经过审核后，我方所有骰子都可以查到");

    public static StringBuilder custom_input = new StringBuilder()
            .append("custom input")
            .append("    ")
            .append("自定义条目录入模块")
            .append("\n")
            .append("用法：.custom [关键词]|[内容]")
            .append("\n")
            .append("示例：.custom A团关键道具胸针|它通红靓丽，但在你认为它只不过是一枚饰品的刹那，那红润的宝石似乎为不可查的抖动了一下。你好奇的用手指摸上去，只能摸到坚硬的表面，就在你疑惑刚才那一瞬间是不是错觉的时候，一声低沉的叹息从你灵魂深处传来")
            .append("\n")
            .append("custom input模块用于任何使用者录入自己希望的自定义条目，你唯一需要注意的是关键字与内容之间需要用|符号来分割。")
            .append("\n此外，为了防止恶意录入不当条目，我们会在每周日晚对新录入的条目进行审核，审核通过后才可以查到。如果着急的话可以来管理群询问进度")
            .append("\n请尽可能不要录入的太长，或是录入时使用特殊符号。一些特殊的用法也许会另模块失效？但它不会给我们带来实际的损失，反而会影响到他人，请各位尽可能注意")
            .append("\n此命令会记录录入人、录入时间等。无需单独填写")
            .append("\n一旦审批完成后，所有骰子自然可以同步查询到条目。如果录入时关键字已存在，则会录入失败。除非上一个关键字也是你录入的，这时会自动覆盖原条目。删除条目请到管理群咨询");

    public static StringBuilder des_set = new StringBuilder()
            .append("des set")
            .append("    ")
            .append("自定义场景录入")
            .append("\n")
            .append("用法：.des set [场景名] [场景]")
            .append("\n")
            .append("示例：.des set 停尸房 这里有几具因车祸而死亡的人")
            .append("\n")
            .append("此功能类似但有别于custom功能，此自定义录入数据仅个人可用。塔系骰娘均可响应。");

    public static StringBuilder des_list = new StringBuilder()
            .append("des list")
            .append("    ")
            .append("自定义场景列表")
            .append("\n")
            .append("用法：.des list")
            .append("\n")
            .append("显示自己当前录入自定义场景列表");

    public static StringBuilder des = new StringBuilder()
            .append("des")
            .append("    ")
            .append("自定义场景检索模块")
            .append("\n")
            .append("用法：.des [场景名]")
            .append("\n")
            .append("示例：.des 停尸房 ")
            .append("\n")
            .append("对已录入自定义场景进行匹配，但只可响应自己录入的自定义场景条目。");


    public static StringBuilder crule_set = new StringBuilder()
            .append("crule set")
            .append("    ")
            .append("定义房规区间")
            .append("\n")
            .append("用法：.crule set 3")
            .append("\n")
            .append("示例：.crule set 3")
            .append("\n")
            .append("此命令用于ra命令的房规区间设定，使用【0+此值】规定大成功，【101-此值】规定大失败，默认区间为5")
            .append("\n虽然做了这个命令，但还是建议使用rc规则书骰点")
            .append("\n此命令以群为单位生效");

    public static StringBuilder crule_get = new StringBuilder()
            .append("crule get")
            .append("    ")
            .append("查询当前房规区间")
            .append("\n")
            .append("用法：.crule get")
            .append("\n")
            .append("示例：.crule get")
            .append("\n")
            .append("此命令查询当前ra命令的房规区间设定，使用【0+此值】规定大成功，【101-此值】规定大失败，默认区间为5")
            .append("\n虽然做了这个命令，但还是建议使用rc规则书骰点")
            .append("\n此命令以群为单位生效");

    public static StringBuilder algo_get = new StringBuilder()
            .append("algo get")
            .append("    ")
            .append("查询当前随机骰点算法")
            .append("\n")
            .append("用法：.algo get")
            .append("\n")
            .append("示例：.algo get")
            .append("\n")
            .append("此命令查询当前随机骰点算法")
            .append("\n1为塔骰的默认算法:符合预期算法。这种算法强调在1-100区间内落点尽可能符合预期，如1-5的概率预期为5%，其它随机算法产生1-5的可能性是1%-10%，而符合预期算法的可能性是4%-6%")
            .append("\n2为默认算法，即Java的默认随即数算法，速度最快，但随机数有时候生成会较偏")
            .append("\n3为梅森旋转算法，是一个著名的伪随机数生成算法，18年前大多数骰娘都使用的这个算法");

    public static StringBuilder algo_set = new StringBuilder()
            .append("algo set")
            .append("    ")
            .append("设置当前随机骰点算法")
            .append("\n")
            .append("用法：.algo set")
            .append("\n")
            .append("示例：.algo set 1|.algo set 2|.algo set 3")
            .append("\n")
            .append("此命令设置当前随机骰点算法")
            .append("\n1为塔骰的默认算法:符合预期算法。这种算法强调在1-100区间内落点尽可能符合预期，如1-5的概率预期为5%，其它随机算法产生1-5的可能性是1%-10%，而符合预期算法的可能性是4%-6%")
            .append("\n2为默认算法，即Java的默认随即数算法，速度最快，但随机数有时候生成会较偏")
            .append("\n3为梅森旋转算法，是一个著名的伪随机数生成算法，18年前大多数骰娘都使用的这个算法");

    public static StringBuilder Three_ry = new StringBuilder()
            .append("3ry")
            .append("    ")
            .append("dnd的3r总体速查")
            .append("\n")
            .append("用法：.3ry [法术名]/.3ry [物品]/.3ry [状态名]/.3ry [怪物名]")
            .append("\n")
            .append("示例：.3ry 火球术/.3ry 魔鱼")
            .append("\n")
            .append("如果你输入错误，那么会自动提示可能的名称列表。")
            .append("\n")
            .append("因为词条采用的译文版本可能与各位平时使用版本不同，所以各位如果遇到查询不到的词条，请联系1329790231（载荷）进行补充或修改");

    public static StringBuilder pfy = new StringBuilder()
            .append("pfy")
            .append("    ")
            .append("pf规则总体速查")
            .append("\n")
            .append("用法：.pfy [法术名]/.pfy [物品]/.pfy [怪物名]")
            .append("\n")
            .append("示例：.pfy 火球术")
            .append("\n")
            .append("如果你输入错误，那么会自动提示可能的名称列表。")
            .append("\n")
            .append("因为词条采用的译文版本可能与各位平时使用版本不同，所以各位如果遇到查询不到的词条，请联系1329790231（载荷）进行补充或修改");

    public static StringBuilder Five_ey = new StringBuilder()
            .append("5ey")
            .append("    ")
            .append("dnd的5e总体速查")
            .append("\n")
            .append("用法：.5ey [法术名]/.5ey [物品]/.5ey [状态名]/.5ey [怪物名]")
            .append("\n")
            .append("示例：.5ey 火球术/.5ey 魔鱼")
            .append("\n")
            .append("如果你输入错误，那么会自动提示可能的名称列表")
            .append("\n")
            .append("此外职业特性应以.5ey 野蛮人:狂暴 这样的格式进行检索。")
            .append("\n")
            .append("因为词条采用的译文版本可能与各位平时使用版本不同，所以各位如果遇到查询不到的词条，请联系1329790231（载荷）进行补充或修改");

    public static StringBuilder clock = new StringBuilder()
            .append("clock")
            .append("    ")
            .append("计时器")
            .append("\n")
            .append("应月上要求做的计时器，请勿滥用该指令。")
            .append("\n")
            .append("用法：.clock [秒]")
            .append("\n")
            .append("示例：.clock 60");

    public static StringBuilder npc_st = new StringBuilder()
            .append("npc st")
            .append("    ")
            .append("群内npc信息导入")
            .append("\n")
            .append("用法：.npc st<角色>-<属性><属性值> ")
            .append("\n")
            .append("示例：.npc st缇娜-hp15")
            .append("\n")
            .append("录入的npc个体不会出现在任何人的人物卡中，并只有本群有效。值得注意的是你必须输入hp属性和san属性才可以正常显示血量或san值。")
            .append("\n");

    public static StringBuilder npc_rm = new StringBuilder()
            .append("npc rm")
            .append("    ")
            .append("在本群删除一个npc信息")
            .append("\n")
            .append("用法：.npc rm <角色>")
            .append("\n")
            .append("示例：.npc rm 缇娜");

    public static StringBuilder npc_make = new StringBuilder()
            .append("npc make")
            .append("    ")
            .append("随机生成一个npc")
            .append("\n")
            .append("用法：.npc make")
            .append("\n")
            .append("只会尝试生成一个npc的详细外貌描述,职业、数值等将私聊发给你，而且不会和npc列表有任何联系");

    public static StringBuilder npc_clr = new StringBuilder()
            .append("npc clr")
            .append("    ")
            .append("清空npc列表")
            .append("\n")
            .append("用法：.npc clr ");

    public static StringBuilder monster_st = new StringBuilder()
            .append("monster st")
            .append("    ")
            .append("群内怪物信息导入")
            .append("\n")
            .append("用法：.monster st<角色>-<属性><属性值> ")
            .append("\n")
            .append("示例：.monster st深潜者-hp15")
            .append("\n")
            .append("录入的monster个体不会出现在任何人的人物卡中，并只有本群有效。值得注意的是你必须输入hp属性和san属性才可以正常显示血量或san值。")
            .append("\n");

    public static StringBuilder monster_rm = new StringBuilder()
            .append("monster rm")
            .append("    ")
            .append("在本群删除一个怪物信息")
            .append("\n")
            .append("用法：.monster rm <角色>")
            .append("\n")
            .append("示例：.monster rm 深潜者");

    public static StringBuilder monster_clr = new StringBuilder()
            .append("monster clr")
            .append("    ")
            .append("清空monster列表")
            .append("\n")
            .append("用法：.monster clr ");

    public static StringBuilder monster_get = new StringBuilder()
            .append("monster get")
            .append("    ")
            .append("私发怪物数据")
            .append("\n")
            .append("用法：.monster get ");

    public static StringBuilder dr = new StringBuilder()
            .append("dr")
            .append("    ")
            .append("dnd5e城主手册中魔法物品表a-i的物品抽取")
            .append("\n")
            .append("用法：.dr [物品表] [抽取次数]")
            .append("\n")
            .append("示例：.dr a 3/.dr c 5");

    public static StringBuilder npc = new StringBuilder()
            .append("npc")
            .append("    ")
            .append("输出本群已录入npc列表")
            .append("\n")
            .append("录入的npc个体不会出现在任何人的人物卡中，并只有本群有效。值得注意的是你必须输入hp属性和san属性才可以正常显示血量或san值。")
            .append("\n")
            .append("凡是录入了npc列表的个体，都可以通过.ra调用技能或属性检定，也可以通过.stc修改属性，也可以使用.sc进行理智检定")
            .append("\n")
            .append("你需要注意的是，如果你的npc和怪物或者和你本人的角色卡重名，会优先调用你本人的角色卡，然后调用怪物，最后调用npc，请注意把名字分开")
            .append("\n")
            .append("请注意npc模块并不会与人物卡模块挂钩，相关指令参见:\n")
            .append("man npc st")
            .append("\n")
            .append("man npc rm")
            .append("\n")
            .append("man npc make")
            .append("\n")
            .append("man npc clr");

    public static StringBuilder monster = new StringBuilder()
            .append("monster")
            .append("    ")
            .append("输出本群已录入怪物列表")
            .append("\n")
            .append("录入的monster个体不会出现在任何人的人物卡中，并只有本群有效。值得注意的是你必须输入hp属性和san属性才可以正常显示血量或san值。")
            .append("\n")
            .append("凡是录入了monster列表的个体，都可以通过.ra进行技能或属性检定，也可以通过.stc修改属性。怪物不可以被.sc命令调用")
            .append("\n")
            .append("你需要注意的是，如果你的monster和怪物或者和你本人的角色卡重名，会优先调用你本人的角色卡，然后调用怪物，最后调用monster，请注意把名字分开")
            .append("\n")
            .append("请注意monster模块并不会与人物卡模块挂钩，相关指令参见:\n")
            .append("man monster st")
            .append("\n")
            .append("man monster rm")
            .append("\n")
            .append("man monster clr")
            .append("\n")
            .append("man monster get");

    public static StringBuilder system_update = new StringBuilder()
            .append("system update")
            .append("    ")
            .append("远程更新")
            .append("\n")
            .append("本指令用于进行远程更新，只能用于更新至Stable稳定版。可以更新至Alpha和Beta版的命令请在反馈群中申请测试后进行。")
            .append("\n")
            .append("用法：.system update")
            .append("\n")
            .append("示例：.system update")
            .append("\n")
            .append(".system update的更新会导致骰子自动重启，请谨慎操作");

    public static StringBuilder system_restart = new StringBuilder()
            .append("system restart")
            .append("    ")
            .append("远程重启")
            .append("\n")
            .append("本指令为进行远程重启,仅master可用")
            .append("\n")
            .append("用法：.system restart")
            .append("\n")
            .append("示例：.system restart");

    public static StringBuilder deck_list = new StringBuilder()
            .append("deck list")
            .append("    ")
            .append("获取当前牌堆市场列表")
            .append("\n")
            .append("用法：.deck list  【获取当前牌堆市场列表】")
            .append("\n")
            .append("用法：.deck install <牌堆名>")
            .append("\n")
            .append("安装指定牌堆")
            .append("用法：.deck remove <牌堆名>")
            .append("\n")
            .append("卸载指定牌堆")
            .append("\n")
            .append("  .deck list和衍生指令获取的牌堆仅限于官方确认过稳定可用的牌堆列表，可以自行在deck目录下追加牌堆，但请时刻关注是否弹窗报错");

    public static StringBuilder reply = new StringBuilder()
            .append("reply")
            .append("    ")
            .append("用于写回复词")
            .append("\n")
            .append("其格式为 .reply <关键词> <回复词>")
            .append("\n")
            .append("若需要一个关键词对应多个回复词，使用|对回复词分割即可")
            .append("\n")
            .append("你需要注意的是，回复词写成后会出现在reply市场中，请在写奇怪东西前三思，且发现有不良词等出现时，管理有权对其处理")
            .append("\n")
            .append("请注意reply在当前群里开启log时将暂时关闭，相关指令参见:\n")
            .append("man reply list");


    public static StringBuilder reply_list = new StringBuilder()
            .append("reply list")
            .append("    ")
            .append("查看已写回复词")
            .append("\n")
            .append("用法：.reply list  【获取当前已写出的回复词】")
            .append("\n")
            .append("用法：.reply <关键词>")
            .append("\n")
            .append("删除指定已有关键词及对应回复词");

}
